#include <iostream>
#include <string>
using namespace std;

void push_back(list)

int main()
{

    return 0;
}


//void Division()
//{
//    int* num1 = new int;
//    int* num2 = new int;
//    cin >> *num1 >> *num2;
//
//    try{
//        if(*num2 == 0) throw "exception：除数为0";
//    }
//    catch(const char* msg){
//        delete num1;
//        delete num2;
//        throw;
//    }
//
//    cout << (*num1 / *num2) << endl;
//    delete num1;
//    delete num2;
//}
//
//int main()
//{
//    Division();
//    try
//    {
//
//    }
//    catch (const char* errmsg)
//    {
//        cout << errmsg << endl;
//    }
//    return 0;
//}

//double Division(int a, int b)
//{
//    // 当b == 0时抛出异常
//    if (b == 0)
//    {
//        throw "Division by zero condition!";
//    }
//    return (double)a / (double)b;
//}
//
//void Func()
//{
//    // 这里可以看到如果发生除0错误抛出异常，另外下面的array没有得到释放。
//    // 所以这里捕获异常后并不处理异常，异常还是交给外面处理，这里捕获了再
//    // 重新抛出去。
//    int* array = new int[10];
//    try {
//        int len, time;
//        cin >> len >> time;
//        cout << Division(len, time) << endl;
//    }
//    catch (...)
//    {
//        cout << "delete []" << array << endl;
//        delete[] array;
//        throw;
//    }
//    // ...
//    cout << "delete []" << array << endl;
//delete[] array;
//}

//void Division()
//{
//    int* num1 = new int;
//    int* num2 = new int;
//    cin >> *num1 >> *num2;
//
//    if(*num2 == 0) throw "exception：除数为0";
//    cout << (*num1 / *num2) << endl;
//
//    delete num1;
//    delete num2;
//}
//
//int main()
//{
//    try
//    {
//        Division();
//    }
//    catch (const char* errmsg)
//    {
//        cout << errmsg << endl;
//    }
//    return 0;
//}


//// 自定义一个类，用来封装异常对象（包括异常信息和异常编号）
//class MyException
//{
//public:
//    // 构造函数传入异常编号和异常信息
//    MyException(const int id, const string& msg)
//            :_errid(id)
//            , _errmsg(msg)
//    {}
//
//    // 获取异常编号
//    int GetErrId() const
//    {
//        return _errid;
//    }
//
//    // 获取异常信息
//    string What() const
//    {
//        return _errmsg;
//    }
//protected:
//    int _errid;    //异常编号
//    string _errmsg;//异常信息
//};
//
//// 封装数据库相关的异常
//class SqlException : protected MyException
//{
//public:
//    SqlException(const int id, const string& msg)
//        : MyException(id, msg)
//    {}
//    //...
//};
//
//// 缓存相关的异常
//class CacheException : protected MyException
//{
//public:
//    CacheException(const int id, const string& msg)
//            : MyException(id, msg)
//    {}
//    //...
//};
//
//int main()
//{
//    try{
//        //...
//    }
//    catch (const MyException& e){
//        cout << "错误码：" << e.GetErrId() << endl;
//        cout << "错误信息：" << e.What() << endl;
//    }
//    return 0;
//}


//
//vector<vector<int>> around =
//        {
//                {1, 0},
//                {0, 1},
//                {-1, 0},
//                {0, -1}
//        };
//
//int main()
//{
//    // 1、数据输入
//    int m, n;
//    cin >> m >> n;
//    vector<vector<int>> board(m, vector<int>(n));
//    for(int i = 0; i < m; ++i)
//        for(int j = 0; j < n; ++j)
//            cin >> board[i][j];
//
//    // 2、bfs
//    int ret = 0;
//    queue<pair<int, int>> q;
//    for(int i = 0; i < m; ++i)
//    {
//        for(int j = 0; j < n; ++j)
//        {
//            if(board[i][j] == 1)
//            {
//                ++ret;
//                q.push(make_pair(i, j));
//                while(!q.empty())
//                {
//                    int row = q.front().first;
//                    int col = q.front().second;
//                    q.pop();
//                    board[row][col] = 0;
//                    for(int k = 0; k < 4; ++k)
//                    {
//                        int newRow = row + around[k][0];
//                        int newCol = col + around[k][1];
//                        if(newRow < 0 || newRow >= m || newCol < 0 || newCol >= n || board[newRow][newCol] == 0)
//                        {
//                            continue;
//                        }
//                        board[newRow][newCol] = 0;
//                        q.push(make_pair(newRow, newCol));
//                    }
//                }
//            }
//        }
//    }
//    // 3、返回值
//    return ret;
//}
//
//
//
//
//// 64 位输出请用 printf("%lld")



//
//class B
//{
//public:
//    B()
//    {
//        cout << "B()" << endl;
//    }
//};
//
//class A
//{
//public:
//    static B b;
//};
//
////B A::b;
//
//// 类的静s态成员变量只能在类外部定义（类外部定义时不能加static关键字），类内部声明
//
//
//int main()
//{
//    A a;
//    return 0;
//}
